﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ByteSite.Common
{
    public class TransferFilesInfo
    {
        public int FileSizeLength; // 文件大小 kb

        public string FileName; // 文件名

        public string FileServerName; // 传至服务器文件名

        public string FileUploadDate;  // 文件上传日期

        public string FileUploadUser;  // 文件上传用户

        public string FileType; // 文件分类

        public string FileInfomation; // 文件信息（图像大小、字数等）

        public string FileNote; // 文件备注信息

        public string FilePacketFlag; // 包标识

        public int FilePacketAmount; // 数据包总数

        public int FileAction; // 上传0、下载1、发送给用户2

        public string FileToObj; // 发送对象

        public string FileToPath; // 路径
    }


    public class TransferFilesPacket
    {
        public string FilePacketFlag; // 包标识

        public int FilePacketCount; // 当前数据包总数

        public int FilePacketCurrent; // 当前数据包序号

        public string FilePacketContentBase64; // 数据包内容

        public TransferFilesPacket(string flag, int count, int current, string content)
        {
            FilePacketFlag = flag;
            FilePacketCount = count;
            FilePacketCurrent = current;
            FilePacketContentBase64 = content;
        }
    }
    public class TransferFilesSeting
    {
        public int FileMaxLength; // 限制上传文件大小 kb

        public int FileUploadPacketSize; // 限制上传包大小 kb

        public int FileDownloadPacketSize; // 限制下载包大小 kb

        public int FileSameTimeDownload; // 单用户同时下载文件数量

        public int FileSameTimeUpload; // 单用户同时上传文件数量
    }
    public class TransferSocket
    {
        public string Preview_Image = "PREVIWE_FILES_IMAGE"; // 图像预览

        public string Preview_Video = "PREVIWE_FILES_VIDEO"; // 视频预览

        public string Preview_Audio = "PREVIWE_FILES_AUDIO"; // 预览音频

        public string Transfer_FileRules = "TRANSFER_FILES_RULES"; // 传输文件列表

        public string Transfer_FileList = "TRANSFER_FILES_LIST"; // 传输文件列表

        public string Transfer_UserList = "TRANSFER_USER_LIST"; // 传输用户列表

        public string Transfer_ToServer = "UPLOAD_FILES_TO_SERVER"; // 上传服务器

        public string Transfer_ToUser = "SERVER_SEND_FILE_TO_USER"; // 服务器发送至用户

        public string Transfer_ToObj = "SEND_FILE_TO_USER"; // 用户发送至用户

        public string Transport_Header = "FILE_HEADER"; // 文件头标识-下载

        public string Transport_DownloadPacket = "DOWNLOAD_FILES_PACKET"; // 下载文件包

        public string Transport_UploadPacket = "UPLOAD_FILES_PACKET"; // 上传文件包

        public string Transport_RemoteDesktopPacket = "REMOTE_DESKTOP_PACKET"; // 远程桌面文件包

        public string Transport_DownloadOver = "DOWNLOAD_FILES_OVER"; // 下载文件完成

        public string Transport_UploadOver = "UPLOAD_FILES_OVER"; // 上传文件完成

        public string Transport_RemoteDesktopOver = "REMOTE_DESKTOP_OVER"; // 上传文件完成

        public string Transport_FileQuantity = "FILE_QUANTITY"; // 发送文件类型数量

        public string Transport_StreamMedia = "http://127.0.0.1"; // 媒体文件预览地址

        public string Transport_Accept = "SELECT_ACCEPT"; // 是否接受发送文件

        public string Transport_Warning = "TRANSPORT_WARNING"; // 警告标识
    }
}
